698~706

병렬 order by ,group by

정렬은(order by 절) temp tablespace 를 사용하므로 해당 유저가 어떤 temp tablespace 를 사용하는지 파악 후 작업 필요

select username , default_tablespace, temporary_tablespace from dba_users;

병렬작업엔 분배가 필요하며 그걸 QC 가 실행

병렬처리 사용 예

select /*\+ parallel(emp 2) \*/ sum(sal) ,deptno from emp group by deptno

SUM(SAL) DEPTNO
\---\--\--\--\- \--\--\


-\-
9400 30

10875 20
8750 10

Execution Plan
\















-\-
Plan hash value: 3475411915

\





























\-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
\



























\-
| 0 | SELECT STATEMENT | | 3 | 21 | 3 (34)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10001 | 3 | 21 | 3 (34)| 00:00:01 | Q1,01 | P->S | QC (RAND) |
| 3 | HASH GROUP BY | | 3 | 21 | 3 (34)| 00:00:01 | Q1,01 | PCWP | |
| 4 | PX RECEIVE | | 15 | 105 | 2 (0)| 00:00:01 | Q1,01 | PCWP | |
| 5 | PX SEND HASH | :TQ10000 | 15 | 105 | 2 (0)| 00:00:01 | Q1,00 | P->P | HASH |
| 6 | PX BLOCK ITERATOR | | 15 | 105 | 2 (0)| 00:00:01 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| EMP | 15 | 105 | 2 (0)| 00:00:01 | Q1,00 | PCWP | |
\



























\-

Statistics
\















-\-
12 recursive calls
0 db block gets
18 consistent gets
0 physical reads
0 redo size
688 bytes sent via SQL*Net to client
520 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
4 rows processed

병렬힌트 미사용시

SUM(SAL) DEPTNO
\---\--\--\--\- \--\--\


-\-
9400 30

10875 20
8750 10

Execution Plan
\















-\-
Plan hash value: 4067220884

\



















--\-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
\

















--\-
| 0 | SELECT STATEMENT | | 3 | 21 | 4 (25)| 00:00:01 |
| 1 | HASH GROUP BY | | 3 | 21 | 4 (25)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 15 | 105 | 3 (0)| 00:00:01 |
\

















--\-

Statistics
\















-\-
1 recursive calls
0 db block gets
7 consistent gets
0 physical reads
0 redo size
688 bytes sent via SQL*Net to client
520 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
4 rows processed